1. Field of the Invention
This invention relates to sequencers which provide a series of microinstructions for control of electronic circuits and, more particularly to apparatus and methods for efficiently operating a Small Computer Systems Interface SCSI sequencer with a hard-disk magnetic storage device and a host computer system.
2. Prior Art
Two specific methods have been used to implement interface control operations. First is a microprocessor which controlled interface operations by setting or resetting interface control lines. These control lines determined the direction and identified the type of information being transferred over the interface. This type of interface control was flexible as the program controller. The microprocessor and instructions could be easily changed, as it was stored in RAM or PROM. This method had performance issues associated with it, as microprocessor overhead caused significant delays in controlling the interface.
A second method was to design a hardware state machine to control interface control lines. This method had advantages in speed but was not flexible as new interface sequences required the state machine to be modified. Because of the difficulty in describing complex interface sequences, the state machines are designed to handle simple well-defined tasks, and require assistance from a "local" microprocessor to complete most I/O operations.
A further difficulty with present hardwired sequencers is that the SCSI interface standard is periodically changed. When it is, a controller with a hardwired sequencer cannot be used to implement the new standard, and a new controller must be designed. Further, a disc drive controller implements a plurality of basic operations, many of which may be repeated or periodically returned to, depending on the circumstances of the transmission. For example, after RESET, the next phase is BUS FREE, followed by SELECTION and MESSAGE. However, after SELECTION, there may be a return to BUS FREE, and MESSAGE may loop on itself a number of times for a plurality of MESSAGES or returned to BUS FREE, or continue on to COMMAND and TRANSFER. Each of these next phases may also return to MESSAGE and then to BUS FREE. With a hardwired sequencer, only a limited number of options is available without starting the sequence over or causing an interrupt by the microprocessor external to the disc controller to implement the desired sequence. Therefore, a controller implemented with a sequencer having a programmable register file which obtains sequences of instructions, either from an external memory or, in the case of instructions being modified from another external source, is highly desirable.